Interactive voice response (IVR) systems that provide information and channel calls to service agents in response to the spoken words or touch tone signaling of a telephone caller have been deployed for more than a decade. The traditional call center for handling service calls was based on a private branch exchange (PBX) that included core automatic call distributor (ACD) functions for connecting a caller to one of a plurality of agents served by the ACD. During the 1990s, the advent of the Internet, electronic commerce, and computer telephony integration (CTI) transformed the call center in ways that enabled delivery of caller data to agents, thereby enabling agents to become more efficient and to improve customer service levels. Today, many enterprises use multiple call or contact centers (both terms are used synonymously and interchangeably in the present application) that extend across different geographic regions, with communications taking place through public switched telephone networks (PSTNs) and Internet protocol (IP) enabled networks that support multi-channel (voice, e-mail, text chat, and Web collaboration) customer interaction.
For example, U.S. Pat. No. 6,798,877 teaches a system in which a caller utilizes a personal computer (PC) for establishing an Internet connection to an ACD and for permitting a caller to select a particular agent. A system for providing information about a telephone caller to a telephone agent, wherein caller-specific data of the caller is used to generate a web page that displays the identified information to the agent is taught in U.S. Pat. No. 6,871,212. A system that can notify a customer of the availability status of agents and which allows the customer to select a particular agent from a group of desired agents by pushing a button according to voice guidance given from the ACD is disclosed in U.S. Pat. No. 6,567,848. U.S. Pat. No. 6,847,715 discloses a system for operatively integrating an ACD and an IVR unit in which an interaction input from a caller is stored and then transmitted to an appropriate agent workstation. The session initiation protocol (SIP) is a widely accepted standard for Internet conferencing, telephony, presence, events notification and instant messaging, which incorporates the notion of caller preferences for certain types of interactive communication sessions (e.g., designating a certain genre of music when on hold during a call). A method and apparatus for analyzing the performance of an IVR system with respect to routing of calls or contacts received in accordance with a contact flow model is described in U.S. Pat. No. 6,879,685.
It is common for a caller communicate with multiple agents during the course of a contact center communication session. One problem with the prior art is that when a caller is transferred from to a new agent he is often required to restate his original problem (i.e., his reason for calling) and/or relate the history of his earlier conversations with other agents. Furthermore, often times a caller may want to return to speak with a previous agent who may have demonstrated to be more knowledgeable, or who is already familiar with the circumstances of the caller's particular problem or request. However, in most cases control over the agent selection process resides exclusively with the ACD, or with the agents themselves who typically have access to the communication session call history that is created by existing ACD software.
Thus, what is a needed is a system and method that provides callers with access to call history information and that allows the caller to return to a previous agent during a contact center communication session.
By way of further background, U.S. Pat. No. 6,333,980 discloses an ACD and method for selectively connecting incoming calls to a plurality of available agents based on proficiency ratings of the particular agents. A method and apparatus for controlling an ACD by a supervisor from a remote location is taught in U.S. Pat. No. 6,654,458. U.S. Pat. No. 6,847,715 discloses a method for controlling administration of ACD queues by a controller and of communicating data to an agent. The caller can control which agent should respond to his call, taking into account the different waiting times associated with a particular agent or the first available agent when the caller reaches the end of the queue.